package com.jvtd.gd_location;

import com.amap.api.location.AMapLocation;

/*
 * Create by Jack Zhang
 */
public interface JvtdLocationCallBack
{
  /**
   * 定位成功
   *
   * @param aMapLocation 位置信息数据
   *                     <p>
   *                     //可在其中解析amapLocation获取相应内容。
   *                     aMapLocation.getLocationType();//获取当前定位结果来源，如网络定位结果，详见定位类型表
   *                     aMapLocation.getLatitude();//获取纬度
   *                     aMapLocation.getLongitude();//获取经度
   *                     aMapLocation.getAccuracy();//获取精度信息
   *                     <p>
   *                     // 模式为仅设备模式(Device_Sensors)时无以下信息
   *                     aMapLocation.getAddress();//地址，如果option中设置isNeedAddress为false，则没有此结果，网络定位结果中会有地址信息，GPS定位不返回地址信息。
   *                     aMapLocation.getCountry();//国家信息
   *                     aMapLocation.getProvince();//省信息
   *                     aMapLocation.getCity();//城市信息
   *                     aMapLocation.getDistrict();//城区信息
   *                     aMapLocation.getStreet();//街道信息
   *                     aMapLocation.getStreetNum();//街道门牌号信息
   *                     aMapLocation.getCityCode();//城市编码
   *                     aMapLocation.getAdCode();//地区编码
   *                     aMapLocation.getAoiName();//获取当前定位点的AOI信息
   *                     aMapLocation.getBuildingId();//获取当前室内定位的建筑物Id
   *                     aMapLocation.getFloor();//获取当前室内定位的楼层
   *                     aMapLocation.getGpsAccuracyStatus();//获取GPS的当前状态
   *                     //获取定位时间
   *                     SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   *                     Date date = new Date(aMapLocation.getTime());
   *                     df.format(date);
   */
  void onLocationChanged(AMapLocation aMapLocation);

  /**
   * 定位失败
   * <p>
   * 错误码请参考 -> https://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/
   *
   * @param errorCode 错误码
   * @param errorInfo 错误信息
   */
  void locationError(int errorCode, String errorInfo);

  /**
   * 自定义错误
   * @param errorInfo 错误信息
   */
  void onCustomError(String errorInfo);
}
